課程資訊
課程名稱
資料結構
DATA STRUCTURES 
開課學期
99-1 
授課對象
工學院  工程科學及海洋工程學系  
授課教師
張恆華 
課號
ESOE2012 
課程識別碼
505 22240 
班次
 
學分
全/半年
半年 
必/選修
必修 
上課時間
星期五2,3,4(9:10~12:10) 
上課地點
工科127A 
備註
資訊計算組必修。
總人數上限:40人 
Ceiba 課程網頁
http://ceiba.ntu.edu.tw/991ESOE_2012 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

本課程介紹基礎的資料結構與相關演算法設計及其應用。我們將探討一些基本和常見的儲存資料結構,諸如陣列、連結串列、堆疊、佇列、樹狀結構、圖形、排序和抽像資料型態。教授重點將強調各種不同資料結構的設計、實用、試驗和評估。 

課程目標
本課程的主旨乃是給予學生在資料結構及其相關的設計與分析技術上有一個基本知識和了解。課程目標在提昇學生在資料結構設計上的能力,分析各種不同結構的好壞俾使撰寫的程式更加精進和有效率,並學會選擇最適宜的資料結構來撰寫程式。 
課程要求
修課學生需修畢計算機概論和程式語言(C, C++, or Java)。 
預期每週課後學習時數
 
Office Hours
每週一 14:00~16:00 
指定閱讀
Michael T. Goodrich and Roberto Tamassia, Data Structures and Algorithms in Java, 4th edition, John Wiley & Sons, 2006. 
參考書目
William Ford, William R. Topp, Data Structures with Java, Prentice Hall, 2005.
Ellis Horowitz, Sartaj Sahni, Dinesh P. Mehta, Fundamentals of data structures in C++, 2nd edition, Silicon Press, 2006. 
評量方式
(僅供參考)
 
No.
項目
百分比
說明
1. 
作業與程式練習 
45% 
 
2. 
期中考 
25% 
 
3. 
期末考 
30% 
 
 
課程進度
週次
日期
單元主題
第1週
9/17  Course Overview and Java Programming Basics 
第2週
9/24  Object Oriented Programming and Design 
第3週
10/01  Arrays 
第4週
10/08  Linked Lists and Recursion 
第5週
10/15  Analysis Tools for Data Structures 
第6週
10/22  Stacks and Queues 
第7週
10/29  Lists and Iterators 
第8週
11/05  Trees 
第9週
11/12  Midterm exam 
第10週
11/19  Search Trees 
第11週
11/26  Priority Queues 
第12週
12/03  Maps and Dictionaries 
第13週
12/10  Sorting and Sets 
第14週
12/17  Text Processing 
第15週
12/24  Graphs 
第16週
12/31  Graphs 
第17週
1/07  Memory 
第18週
1/14  Final exam